package com.tencent.qf.systembiz.dal;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ApiErrorLogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ApiErrorLogExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTraceIdIsNull() {
            addCriterion("trace_id is null");
            return (Criteria) this;
        }

        public Criteria andTraceIdIsNotNull() {
            addCriterion("trace_id is not null");
            return (Criteria) this;
        }

        public Criteria andTraceIdEqualTo(String value) {
            addCriterion("trace_id =", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdNotEqualTo(String value) {
            addCriterion("trace_id <>", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdGreaterThan(String value) {
            addCriterion("trace_id >", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdGreaterThanOrEqualTo(String value) {
            addCriterion("trace_id >=", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdLessThan(String value) {
            addCriterion("trace_id <", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdLessThanOrEqualTo(String value) {
            addCriterion("trace_id <=", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdLike(String value) {
            addCriterion("trace_id like", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdNotLike(String value) {
            addCriterion("trace_id not like", value, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdIn(List<String> values) {
            addCriterion("trace_id in", values, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdNotIn(List<String> values) {
            addCriterion("trace_id not in", values, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdBetween(String value1, String value2) {
            addCriterion("trace_id between", value1, value2, "traceId");
            return (Criteria) this;
        }

        public Criteria andTraceIdNotBetween(String value1, String value2) {
            addCriterion("trace_id not between", value1, value2, "traceId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNull() {
            addCriterion("user_type is null");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNotNull() {
            addCriterion("user_type is not null");
            return (Criteria) this;
        }

        public Criteria andUserTypeEqualTo(Byte value) {
            addCriterion("user_type =", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotEqualTo(Byte value) {
            addCriterion("user_type <>", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThan(Byte value) {
            addCriterion("user_type >", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("user_type >=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThan(Byte value) {
            addCriterion("user_type <", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(Byte value) {
            addCriterion("user_type <=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeIn(List<Byte> values) {
            addCriterion("user_type in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotIn(List<Byte> values) {
            addCriterion("user_type not in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeBetween(Byte value1, Byte value2) {
            addCriterion("user_type between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("user_type not between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andApplicationNameIsNull() {
            addCriterion("application_name is null");
            return (Criteria) this;
        }

        public Criteria andApplicationNameIsNotNull() {
            addCriterion("application_name is not null");
            return (Criteria) this;
        }

        public Criteria andApplicationNameEqualTo(String value) {
            addCriterion("application_name =", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameNotEqualTo(String value) {
            addCriterion("application_name <>", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameGreaterThan(String value) {
            addCriterion("application_name >", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameGreaterThanOrEqualTo(String value) {
            addCriterion("application_name >=", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameLessThan(String value) {
            addCriterion("application_name <", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameLessThanOrEqualTo(String value) {
            addCriterion("application_name <=", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameLike(String value) {
            addCriterion("application_name like", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameNotLike(String value) {
            addCriterion("application_name not like", value, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameIn(List<String> values) {
            addCriterion("application_name in", values, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameNotIn(List<String> values) {
            addCriterion("application_name not in", values, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameBetween(String value1, String value2) {
            addCriterion("application_name between", value1, value2, "applicationName");
            return (Criteria) this;
        }

        public Criteria andApplicationNameNotBetween(String value1, String value2) {
            addCriterion("application_name not between", value1, value2, "applicationName");
            return (Criteria) this;
        }

        public Criteria andRequestMethodIsNull() {
            addCriterion("request_method is null");
            return (Criteria) this;
        }

        public Criteria andRequestMethodIsNotNull() {
            addCriterion("request_method is not null");
            return (Criteria) this;
        }

        public Criteria andRequestMethodEqualTo(String value) {
            addCriterion("request_method =", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodNotEqualTo(String value) {
            addCriterion("request_method <>", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodGreaterThan(String value) {
            addCriterion("request_method >", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodGreaterThanOrEqualTo(String value) {
            addCriterion("request_method >=", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodLessThan(String value) {
            addCriterion("request_method <", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodLessThanOrEqualTo(String value) {
            addCriterion("request_method <=", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodLike(String value) {
            addCriterion("request_method like", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodNotLike(String value) {
            addCriterion("request_method not like", value, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodIn(List<String> values) {
            addCriterion("request_method in", values, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodNotIn(List<String> values) {
            addCriterion("request_method not in", values, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodBetween(String value1, String value2) {
            addCriterion("request_method between", value1, value2, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestMethodNotBetween(String value1, String value2) {
            addCriterion("request_method not between", value1, value2, "requestMethod");
            return (Criteria) this;
        }

        public Criteria andRequestUrlIsNull() {
            addCriterion("request_url is null");
            return (Criteria) this;
        }

        public Criteria andRequestUrlIsNotNull() {
            addCriterion("request_url is not null");
            return (Criteria) this;
        }

        public Criteria andRequestUrlEqualTo(String value) {
            addCriterion("request_url =", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlNotEqualTo(String value) {
            addCriterion("request_url <>", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlGreaterThan(String value) {
            addCriterion("request_url >", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlGreaterThanOrEqualTo(String value) {
            addCriterion("request_url >=", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlLessThan(String value) {
            addCriterion("request_url <", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlLessThanOrEqualTo(String value) {
            addCriterion("request_url <=", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlLike(String value) {
            addCriterion("request_url like", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlNotLike(String value) {
            addCriterion("request_url not like", value, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlIn(List<String> values) {
            addCriterion("request_url in", values, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlNotIn(List<String> values) {
            addCriterion("request_url not in", values, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlBetween(String value1, String value2) {
            addCriterion("request_url between", value1, value2, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestUrlNotBetween(String value1, String value2) {
            addCriterion("request_url not between", value1, value2, "requestUrl");
            return (Criteria) this;
        }

        public Criteria andRequestParamsIsNull() {
            addCriterion("request_params is null");
            return (Criteria) this;
        }

        public Criteria andRequestParamsIsNotNull() {
            addCriterion("request_params is not null");
            return (Criteria) this;
        }

        public Criteria andRequestParamsEqualTo(String value) {
            addCriterion("request_params =", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsNotEqualTo(String value) {
            addCriterion("request_params <>", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsGreaterThan(String value) {
            addCriterion("request_params >", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsGreaterThanOrEqualTo(String value) {
            addCriterion("request_params >=", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsLessThan(String value) {
            addCriterion("request_params <", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsLessThanOrEqualTo(String value) {
            addCriterion("request_params <=", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsLike(String value) {
            addCriterion("request_params like", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsNotLike(String value) {
            addCriterion("request_params not like", value, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsIn(List<String> values) {
            addCriterion("request_params in", values, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsNotIn(List<String> values) {
            addCriterion("request_params not in", values, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsBetween(String value1, String value2) {
            addCriterion("request_params between", value1, value2, "requestParams");
            return (Criteria) this;
        }

        public Criteria andRequestParamsNotBetween(String value1, String value2) {
            addCriterion("request_params not between", value1, value2, "requestParams");
            return (Criteria) this;
        }

        public Criteria andUserIpIsNull() {
            addCriterion("user_ip is null");
            return (Criteria) this;
        }

        public Criteria andUserIpIsNotNull() {
            addCriterion("user_ip is not null");
            return (Criteria) this;
        }

        public Criteria andUserIpEqualTo(String value) {
            addCriterion("user_ip =", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotEqualTo(String value) {
            addCriterion("user_ip <>", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpGreaterThan(String value) {
            addCriterion("user_ip >", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpGreaterThanOrEqualTo(String value) {
            addCriterion("user_ip >=", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLessThan(String value) {
            addCriterion("user_ip <", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLessThanOrEqualTo(String value) {
            addCriterion("user_ip <=", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpLike(String value) {
            addCriterion("user_ip like", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotLike(String value) {
            addCriterion("user_ip not like", value, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpIn(List<String> values) {
            addCriterion("user_ip in", values, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotIn(List<String> values) {
            addCriterion("user_ip not in", values, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpBetween(String value1, String value2) {
            addCriterion("user_ip between", value1, value2, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserIpNotBetween(String value1, String value2) {
            addCriterion("user_ip not between", value1, value2, "userIp");
            return (Criteria) this;
        }

        public Criteria andUserAgentIsNull() {
            addCriterion("user_agent is null");
            return (Criteria) this;
        }

        public Criteria andUserAgentIsNotNull() {
            addCriterion("user_agent is not null");
            return (Criteria) this;
        }

        public Criteria andUserAgentEqualTo(String value) {
            addCriterion("user_agent =", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentNotEqualTo(String value) {
            addCriterion("user_agent <>", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentGreaterThan(String value) {
            addCriterion("user_agent >", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentGreaterThanOrEqualTo(String value) {
            addCriterion("user_agent >=", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentLessThan(String value) {
            addCriterion("user_agent <", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentLessThanOrEqualTo(String value) {
            addCriterion("user_agent <=", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentLike(String value) {
            addCriterion("user_agent like", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentNotLike(String value) {
            addCriterion("user_agent not like", value, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentIn(List<String> values) {
            addCriterion("user_agent in", values, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentNotIn(List<String> values) {
            addCriterion("user_agent not in", values, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentBetween(String value1, String value2) {
            addCriterion("user_agent between", value1, value2, "userAgent");
            return (Criteria) this;
        }

        public Criteria andUserAgentNotBetween(String value1, String value2) {
            addCriterion("user_agent not between", value1, value2, "userAgent");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeIsNull() {
            addCriterion("exception_time is null");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeIsNotNull() {
            addCriterion("exception_time is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeEqualTo(Date value) {
            addCriterion("exception_time =", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeNotEqualTo(Date value) {
            addCriterion("exception_time <>", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeGreaterThan(Date value) {
            addCriterion("exception_time >", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("exception_time >=", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeLessThan(Date value) {
            addCriterion("exception_time <", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeLessThanOrEqualTo(Date value) {
            addCriterion("exception_time <=", value, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeIn(List<Date> values) {
            addCriterion("exception_time in", values, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeNotIn(List<Date> values) {
            addCriterion("exception_time not in", values, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeBetween(Date value1, Date value2) {
            addCriterion("exception_time between", value1, value2, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionTimeNotBetween(Date value1, Date value2) {
            addCriterion("exception_time not between", value1, value2, "exceptionTime");
            return (Criteria) this;
        }

        public Criteria andExceptionNameIsNull() {
            addCriterion("exception_name is null");
            return (Criteria) this;
        }

        public Criteria andExceptionNameIsNotNull() {
            addCriterion("exception_name is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionNameEqualTo(String value) {
            addCriterion("exception_name =", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameNotEqualTo(String value) {
            addCriterion("exception_name <>", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameGreaterThan(String value) {
            addCriterion("exception_name >", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameGreaterThanOrEqualTo(String value) {
            addCriterion("exception_name >=", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameLessThan(String value) {
            addCriterion("exception_name <", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameLessThanOrEqualTo(String value) {
            addCriterion("exception_name <=", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameLike(String value) {
            addCriterion("exception_name like", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameNotLike(String value) {
            addCriterion("exception_name not like", value, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameIn(List<String> values) {
            addCriterion("exception_name in", values, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameNotIn(List<String> values) {
            addCriterion("exception_name not in", values, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameBetween(String value1, String value2) {
            addCriterion("exception_name between", value1, value2, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionNameNotBetween(String value1, String value2) {
            addCriterion("exception_name not between", value1, value2, "exceptionName");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageIsNull() {
            addCriterion("exception_message is null");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageIsNotNull() {
            addCriterion("exception_message is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageEqualTo(String value) {
            addCriterion("exception_message =", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageNotEqualTo(String value) {
            addCriterion("exception_message <>", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageGreaterThan(String value) {
            addCriterion("exception_message >", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageGreaterThanOrEqualTo(String value) {
            addCriterion("exception_message >=", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageLessThan(String value) {
            addCriterion("exception_message <", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageLessThanOrEqualTo(String value) {
            addCriterion("exception_message <=", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageLike(String value) {
            addCriterion("exception_message like", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageNotLike(String value) {
            addCriterion("exception_message not like", value, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageIn(List<String> values) {
            addCriterion("exception_message in", values, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageNotIn(List<String> values) {
            addCriterion("exception_message not in", values, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageBetween(String value1, String value2) {
            addCriterion("exception_message between", value1, value2, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionMessageNotBetween(String value1, String value2) {
            addCriterion("exception_message not between", value1, value2, "exceptionMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageIsNull() {
            addCriterion("exception_root_cause_message is null");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageIsNotNull() {
            addCriterion("exception_root_cause_message is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageEqualTo(String value) {
            addCriterion("exception_root_cause_message =", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageNotEqualTo(String value) {
            addCriterion("exception_root_cause_message <>", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageGreaterThan(String value) {
            addCriterion("exception_root_cause_message >", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageGreaterThanOrEqualTo(String value) {
            addCriterion("exception_root_cause_message >=", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageLessThan(String value) {
            addCriterion("exception_root_cause_message <", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageLessThanOrEqualTo(String value) {
            addCriterion("exception_root_cause_message <=", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageLike(String value) {
            addCriterion("exception_root_cause_message like", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageNotLike(String value) {
            addCriterion("exception_root_cause_message not like", value, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageIn(List<String> values) {
            addCriterion("exception_root_cause_message in", values, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageNotIn(List<String> values) {
            addCriterion("exception_root_cause_message not in", values, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageBetween(String value1, String value2) {
            addCriterion("exception_root_cause_message between", value1, value2, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionRootCauseMessageNotBetween(String value1, String value2) {
            addCriterion("exception_root_cause_message not between", value1, value2, "exceptionRootCauseMessage");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceIsNull() {
            addCriterion("exception_stack_trace is null");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceIsNotNull() {
            addCriterion("exception_stack_trace is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceEqualTo(String value) {
            addCriterion("exception_stack_trace =", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceNotEqualTo(String value) {
            addCriterion("exception_stack_trace <>", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceGreaterThan(String value) {
            addCriterion("exception_stack_trace >", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceGreaterThanOrEqualTo(String value) {
            addCriterion("exception_stack_trace >=", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceLessThan(String value) {
            addCriterion("exception_stack_trace <", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceLessThanOrEqualTo(String value) {
            addCriterion("exception_stack_trace <=", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceLike(String value) {
            addCriterion("exception_stack_trace like", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceNotLike(String value) {
            addCriterion("exception_stack_trace not like", value, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceIn(List<String> values) {
            addCriterion("exception_stack_trace in", values, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceNotIn(List<String> values) {
            addCriterion("exception_stack_trace not in", values, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceBetween(String value1, String value2) {
            addCriterion("exception_stack_trace between", value1, value2, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionStackTraceNotBetween(String value1, String value2) {
            addCriterion("exception_stack_trace not between", value1, value2, "exceptionStackTrace");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameIsNull() {
            addCriterion("exception_class_name is null");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameIsNotNull() {
            addCriterion("exception_class_name is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameEqualTo(String value) {
            addCriterion("exception_class_name =", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameNotEqualTo(String value) {
            addCriterion("exception_class_name <>", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameGreaterThan(String value) {
            addCriterion("exception_class_name >", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameGreaterThanOrEqualTo(String value) {
            addCriterion("exception_class_name >=", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameLessThan(String value) {
            addCriterion("exception_class_name <", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameLessThanOrEqualTo(String value) {
            addCriterion("exception_class_name <=", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameLike(String value) {
            addCriterion("exception_class_name like", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameNotLike(String value) {
            addCriterion("exception_class_name not like", value, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameIn(List<String> values) {
            addCriterion("exception_class_name in", values, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameNotIn(List<String> values) {
            addCriterion("exception_class_name not in", values, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameBetween(String value1, String value2) {
            addCriterion("exception_class_name between", value1, value2, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionClassNameNotBetween(String value1, String value2) {
            addCriterion("exception_class_name not between", value1, value2, "exceptionClassName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameIsNull() {
            addCriterion("exception_file_name is null");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameIsNotNull() {
            addCriterion("exception_file_name is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameEqualTo(String value) {
            addCriterion("exception_file_name =", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameNotEqualTo(String value) {
            addCriterion("exception_file_name <>", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameGreaterThan(String value) {
            addCriterion("exception_file_name >", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameGreaterThanOrEqualTo(String value) {
            addCriterion("exception_file_name >=", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameLessThan(String value) {
            addCriterion("exception_file_name <", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameLessThanOrEqualTo(String value) {
            addCriterion("exception_file_name <=", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameLike(String value) {
            addCriterion("exception_file_name like", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameNotLike(String value) {
            addCriterion("exception_file_name not like", value, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameIn(List<String> values) {
            addCriterion("exception_file_name in", values, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameNotIn(List<String> values) {
            addCriterion("exception_file_name not in", values, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameBetween(String value1, String value2) {
            addCriterion("exception_file_name between", value1, value2, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionFileNameNotBetween(String value1, String value2) {
            addCriterion("exception_file_name not between", value1, value2, "exceptionFileName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameIsNull() {
            addCriterion("exception_method_name is null");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameIsNotNull() {
            addCriterion("exception_method_name is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameEqualTo(String value) {
            addCriterion("exception_method_name =", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameNotEqualTo(String value) {
            addCriterion("exception_method_name <>", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameGreaterThan(String value) {
            addCriterion("exception_method_name >", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameGreaterThanOrEqualTo(String value) {
            addCriterion("exception_method_name >=", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameLessThan(String value) {
            addCriterion("exception_method_name <", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameLessThanOrEqualTo(String value) {
            addCriterion("exception_method_name <=", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameLike(String value) {
            addCriterion("exception_method_name like", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameNotLike(String value) {
            addCriterion("exception_method_name not like", value, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameIn(List<String> values) {
            addCriterion("exception_method_name in", values, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameNotIn(List<String> values) {
            addCriterion("exception_method_name not in", values, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameBetween(String value1, String value2) {
            addCriterion("exception_method_name between", value1, value2, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionMethodNameNotBetween(String value1, String value2) {
            addCriterion("exception_method_name not between", value1, value2, "exceptionMethodName");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberIsNull() {
            addCriterion("exception_line_number is null");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberIsNotNull() {
            addCriterion("exception_line_number is not null");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberEqualTo(Integer value) {
            addCriterion("exception_line_number =", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberNotEqualTo(Integer value) {
            addCriterion("exception_line_number <>", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberGreaterThan(Integer value) {
            addCriterion("exception_line_number >", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("exception_line_number >=", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberLessThan(Integer value) {
            addCriterion("exception_line_number <", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberLessThanOrEqualTo(Integer value) {
            addCriterion("exception_line_number <=", value, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberIn(List<Integer> values) {
            addCriterion("exception_line_number in", values, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberNotIn(List<Integer> values) {
            addCriterion("exception_line_number not in", values, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberBetween(Integer value1, Integer value2) {
            addCriterion("exception_line_number between", value1, value2, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andExceptionLineNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("exception_line_number not between", value1, value2, "exceptionLineNumber");
            return (Criteria) this;
        }

        public Criteria andProcessStatusIsNull() {
            addCriterion("process_status is null");
            return (Criteria) this;
        }

        public Criteria andProcessStatusIsNotNull() {
            addCriterion("process_status is not null");
            return (Criteria) this;
        }

        public Criteria andProcessStatusEqualTo(Byte value) {
            addCriterion("process_status =", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotEqualTo(Byte value) {
            addCriterion("process_status <>", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusGreaterThan(Byte value) {
            addCriterion("process_status >", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("process_status >=", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusLessThan(Byte value) {
            addCriterion("process_status <", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusLessThanOrEqualTo(Byte value) {
            addCriterion("process_status <=", value, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusIn(List<Byte> values) {
            addCriterion("process_status in", values, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotIn(List<Byte> values) {
            addCriterion("process_status not in", values, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusBetween(Byte value1, Byte value2) {
            addCriterion("process_status between", value1, value2, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("process_status not between", value1, value2, "processStatus");
            return (Criteria) this;
        }

        public Criteria andProcessTimeIsNull() {
            addCriterion("process_time is null");
            return (Criteria) this;
        }

        public Criteria andProcessTimeIsNotNull() {
            addCriterion("process_time is not null");
            return (Criteria) this;
        }

        public Criteria andProcessTimeEqualTo(Date value) {
            addCriterion("process_time =", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeNotEqualTo(Date value) {
            addCriterion("process_time <>", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeGreaterThan(Date value) {
            addCriterion("process_time >", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("process_time >=", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeLessThan(Date value) {
            addCriterion("process_time <", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeLessThanOrEqualTo(Date value) {
            addCriterion("process_time <=", value, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeIn(List<Date> values) {
            addCriterion("process_time in", values, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeNotIn(List<Date> values) {
            addCriterion("process_time not in", values, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeBetween(Date value1, Date value2) {
            addCriterion("process_time between", value1, value2, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessTimeNotBetween(Date value1, Date value2) {
            addCriterion("process_time not between", value1, value2, "processTime");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdIsNull() {
            addCriterion("process_user_id is null");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdIsNotNull() {
            addCriterion("process_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdEqualTo(Integer value) {
            addCriterion("process_user_id =", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdNotEqualTo(Integer value) {
            addCriterion("process_user_id <>", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdGreaterThan(Integer value) {
            addCriterion("process_user_id >", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("process_user_id >=", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdLessThan(Integer value) {
            addCriterion("process_user_id <", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("process_user_id <=", value, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdIn(List<Integer> values) {
            addCriterion("process_user_id in", values, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdNotIn(List<Integer> values) {
            addCriterion("process_user_id not in", values, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdBetween(Integer value1, Integer value2) {
            addCriterion("process_user_id between", value1, value2, "processUserId");
            return (Criteria) this;
        }

        public Criteria andProcessUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("process_user_id not between", value1, value2, "processUserId");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdaterIsNull() {
            addCriterion("updater is null");
            return (Criteria) this;
        }

        public Criteria andUpdaterIsNotNull() {
            addCriterion("updater is not null");
            return (Criteria) this;
        }

        public Criteria andUpdaterEqualTo(String value) {
            addCriterion("updater =", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotEqualTo(String value) {
            addCriterion("updater <>", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterGreaterThan(String value) {
            addCriterion("updater >", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterGreaterThanOrEqualTo(String value) {
            addCriterion("updater >=", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterLessThan(String value) {
            addCriterion("updater <", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterLessThanOrEqualTo(String value) {
            addCriterion("updater <=", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterLike(String value) {
            addCriterion("updater like", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotLike(String value) {
            addCriterion("updater not like", value, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterIn(List<String> values) {
            addCriterion("updater in", values, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotIn(List<String> values) {
            addCriterion("updater not in", values, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterBetween(String value1, String value2) {
            addCriterion("updater between", value1, value2, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdaterNotBetween(String value1, String value2) {
            addCriterion("updater not between", value1, value2, "updater");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Boolean value) {
            addCriterion("deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Boolean value) {
            addCriterion("deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Boolean value) {
            addCriterion("deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Boolean value) {
            addCriterion("deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Boolean> values) {
            addCriterion("deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Boolean> values) {
            addCriterion("deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNull() {
            addCriterion("tenant_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNotNull() {
            addCriterion("tenant_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantIdEqualTo(Long value) {
            addCriterion("tenant_id =", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotEqualTo(Long value) {
            addCriterion("tenant_id <>", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThan(Long value) {
            addCriterion("tenant_id >", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThanOrEqualTo(Long value) {
            addCriterion("tenant_id >=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThan(Long value) {
            addCriterion("tenant_id <", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThanOrEqualTo(Long value) {
            addCriterion("tenant_id <=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdIn(List<Long> values) {
            addCriterion("tenant_id in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotIn(List<Long> values) {
            addCriterion("tenant_id not in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdBetween(Long value1, Long value2) {
            addCriterion("tenant_id between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotBetween(Long value1, Long value2) {
            addCriterion("tenant_id not between", value1, value2, "tenantId");
            return (Criteria) this;
        }
    }

    /**
     *
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}